const DataManager = require("wy-DataManager");
let ws=null;
let url='';
let Events=require('events');
var events=new Events();
let cuurentTick=0;
module.exports={
    connect(url){
        url=url;
        ws=new WebSocket(url);
        ws.onopen = ()=> {
            // 使用 send() 方法发送数据
            let userData=DataManager.getData('USERDATA');
            let roomNo=DataManager.getData('ROOM_NO');
            this.send({
                r:'join',
                n:roomNo,
                u:userData._id
            })
        };
        
        // 接收服务端数据时触发事件
        ws.onmessage = (evt)=>{
            let data=JSON.parse(evt.data);
            this.events.emit(data.e,data);
            // if(!!data.t&&data.t>cuurentTick){
            //     cuurentTick=data.t;
            //     this.events.emit(data.e,data.d);
            // }
            //cc.log('收到服务端信息：',evt);
        };
        
        // 断开 web socket 连接成功触发事件
        ws.onclose = ()=> {
            cc.log('websocket链接中断，正在重新链接！');
            setTimeout(this.connect,3000);
        };
    },
    events:new Events(),
    send(data){
        this.sendString(JSON.stringify(data));
    },
    sendString(str){
        ws.send(str);
    }
}